Research
Security News
Malicious PyPI Package ‘pycord-self’ Targets Discord Developers with Token Theft and Backdoor Exploit
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
@thi.ng/strings
Advanced tools
This project is part of the @thi.ng/umbrella monorepo.
Various higher-order, configurable string formatting & utility functions, some memoized. Please sources / docstrings for now.
Partially based on Clojure version of thi.ng/strf.
STABLE - used in production
Search or submit any issues for this package
yarn add @thi.ng/strings
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/strings?module" crossorigin></script>
// UMD
<script src="https://unpkg.com/@thi.ng/strings/lib/index.umd.js" crossorigin></script>
Package sizes (gzipped, pre-treeshake): ESM: 3.65 KB / CJS: 3.94 KB / UMD: 3.74 KB
Several demos in this repo's /examples directory are using this package.
A selection:
Screenshot | Description | Live demo | Source |
---|---|---|---|
Basic crypto-currency candle chart with multiple moving averages plots | Demo | Source | |
Basic SPA example with atom-based UI router | Demo | Source | |
rstream based spreadsheet w/ S-expression formula DSL | Demo | Source | |
XML/HTML/SVG to hiccup/JS conversion | Demo | Source |
// create a custom string formatter
const fmt = defFormat([
"Price: ",
{ usd: "$", gbp: "£", eur: "€" },
float(2),
" (",
percent(2),
" off)"
]);
// use format
fmt("usd", 1.2345, 0.5);
// Price: $1.23 (50.00% off)
fmt("eur", 1.2345, 0.25)
// Price: €1.23 (25.00% off)
defFormat
format
hstr
ignore
interpolate
str
camel
capitalize
kebab
lower
snake
slugify
upper
float
floatFixedWidth
maybeParseFloat
maybeParseInt
percent
radix
uuid
B8
/ B16
/ B32
- binary / bitstring presetsU8
/ U16
/ U24
/ U32
/ U64
- hex format presets (unsigned values)center
padLeft
padRight
truncate
truncateLeft
wrap
Z2
/ Z3
/ Z4
- zero-pad presetsunits
- define new unit w/ magnitudes & suffixesbits
bytes
grams
meters
seconds
charRange
repeat
splice
Karsten Schmidt
If this project contributes to an academic publication, please cite it as:
@misc{thing-strings,
title = "@thi.ng/strings",
author = "Karsten Schmidt",
note = "https://thi.ng/strings",
year = 2015
}
© 2015 - 2021 Karsten Schmidt // Apache Software License 2.0
FAQs
Various string formatting & utility functions
The npm package @thi.ng/strings receives a total of 4,075 weekly downloads. As such, @thi.ng/strings popularity was classified as popular.
We found that @thi.ng/strings demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.